package com.zjsd.sqeybusiness.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 payorderinfo
 * 
 * @author Zheng
 * @date 2025-03-17
 */
@Data
public class Payorderinfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商圈云线上支付订单id */
    private Long payid;

    /** 支付渠道1酷享2易宝 */
    @Excel(name = "支付渠道1酷享2易宝")
    private String paychannel;

    /** 唯一订单号 */
    @Excel(name = "唯一订单号")
    private String reqsn;

    /** 会员id */
    @Excel(name = "会员id")
    private Long hyid;

    /** 商户号 */
    @Excel(name = "商户号")
    private String cusid;

    /** appid */
    @Excel(name = "appid")
    private String appid;

    /** 版本 */
    @Excel(name = "版本")
    private String version;

    /** 业务实际id */
    @Excel(name = "业务实际id")
    private Long orderid;

    /** 业务订单id类型1代表交易2代表收欠款3代表收预付款4代表收订货款5超市订单6顾客订单7线下交易8线下订单9商城旗舰版订单 */
    @Excel(name = "业务订单id类型1代表交易2代表收欠款3代表收预付款4代表收订货款5超市订单6顾客订单7线下交易8线下订单9商城旗舰版订单")
    private String ywddidlx;

    /** 交易金额 */
    @Excel(name = "交易金额")
    private String trxamt;

    /** 交易方式:w01微信扫码支付w02微信js支付 w03微信app支付w06 微信小程序支付a01支付宝扫码支付 a02支付宝js支付q01手机qq扫码支付q02手机qqjs支付u01银联扫码支付(csb)u02银联js支付 */
    @Excel(name = "交易方式:w01微信扫码支付w02微信js支付 w03微信app支付w06 微信小程序支付a01支付宝扫码支付 a02支付宝js支付q01手机qq扫码支付q02手机qqjs支付u01银联扫码支付(csb)u02银联js支付")
    private String paytype;

    /** 随机字符串 */
    @Excel(name = "随机字符串")
    private String randomstr;

    /** 订单商品名称，为空则以商户名作为商品名称 */
    @Excel(name = "订单商品名称，为空则以商户名作为商品名称")
    private String body;

    /** 订单有效时间，以分为单位，不填默认为5分钟 */
    @Excel(name = "订单有效时间，以分为单位，不填默认为5分钟")
    private String validtime;

    /** js支付时使用:微信支付-用户的微信openid,支付宝支付-用户user_id,微信小程序-用户小程序的openid */
    @Excel(name = "js支付时使用:微信支付-用户的微信openid,支付宝支付-用户user_id,微信小程序-用户小程序的openid")
    private String acct;

    /** 交易结果通知地址 */
    @Excel(name = "交易结果通知地址")
    private String notifyurl;

    /** no_credit--指定不能使用信用卡支付 */
    @Excel(name = "no_credit--指定不能使用信用卡支付")
    private String limitpay;

    /** 微信小程序/微信公众号/app的appid */
    @Excel(name = "微信小程序/微信公众号/app的appid")
    private String subappid;

    /** 订单优惠标记，用于区分订单是否可以享受优惠，字段内容在微信后台配置券时进行设置，说明详见代金券或立减优惠 */
    @Excel(name = "订单优惠标记，用于区分订单是否可以享受优惠，字段内容在微信后台配置券时进行设置，说明详见代金券或立减优惠")
    private String goodstag;

    /** 优惠信息 */
    @Excel(name = "优惠信息")
    private String benefitdetail;

    /** 门店号 */
    @Excel(name = "门店号")
    private String subbranch;

    /** 用户下单和调起支付的终端ip地址:paytype=u02云闪付js支付不为空 */
    @Excel(name = "用户下单和调起支付的终端ip地址:paytype=u02云闪付js支付不为空")
    private String cusip;

    /** 证件号:实名交易必填.填了此字段就会验证证件号和姓名 */
    @Excel(name = "证件号:实名交易必填.填了此字段就会验证证件号和姓名")
    private String idno;

    /** 付款人真实姓名:实名交易必填.填了此字段就会验证证件号和姓名 */
    @Excel(name = "付款人真实姓名:实名交易必填.填了此字段就会验证证件号和姓名")
    private String truename;

    /** 分账信息:cusid:接收分账的通联商户号type分账类型（01：按金额  02：按比率）如果分账类型为02，则分账比率为0.5表示50%。如果分账类型为01，则分账金额以元为单位表示 */
    @Excel(name = "分账信息:cusid:接收分账的通联商户号type分账类型", readConverterExp = "0=1：按金额,0=2：按比率")
    private String asinfo;

    /** 签名方式md5 rsa不填默认md5 */
    @Excel(name = "签名方式md5 rsa不填默认md5")
    private String signtype;

    /** 签名 */
    @Excel(name = "签名")
    private String sign;

    /** 返回码success/fail */
    @Excel(name = "返回码success/fail")
    private String retcode;

    /** 返回码说明 */
    @Excel(name = "返回码说明")
    private String retmsg;

    /** 交易单号:收银宝平台的交易流水号 */
    @Excel(name = "交易单号:收银宝平台的交易流水号")
    private String trxid;

    /** 渠道平台交易单号:例如微信,支付宝平台的交易单号 */
    @Excel(name = "渠道平台交易单号:例如微信,支付宝平台的交易单号")
    private String chnltrxid;

    /** 交易状态:对于刷卡支付，该状态表示实际的支付结果，其他为下单状态 */
    @Excel(name = "交易状态:对于刷卡支付，该状态表示实际的支付结果，其他为下单状态")
    private String trxstatus;

    /** 交易完成时间:对于微信刷卡支付有效 */
    @Excel(name = "交易完成时间:对于微信刷卡支付有效")
    private String fintime;

    /** 失败的原因说明 */
    @Excel(name = "失败的原因说明")
    private String errmsg;

    /** 微信支付串:生成二维码用的 */
    @Excel(name = "微信支付串:生成二维码用的")
    private String payinfo;

    /** 第三方交易号:暂未启用 */
    @Excel(name = "第三方交易号:暂未启用")
    private String outtrxid;

    /** 交易类型:vsp501微信支付vsp502微信支付撤销vsp503微信支付退款vsp505手机qq 支付vsp506手机qq支付撤销vsp507手机qq支付退款vsp511支付宝支付vsp512支付宝支付撤销vsp513支付宝支付退款vsp551银联扫码支付vsp552银联扫码撤销vsp553银联扫码退货vsp907差错借记调整vsp908差错贷记调整 */
    @Excel(name = "交易类型:vsp501微信支付vsp502微信支付撤销vsp503微信支付退款vsp505手机qq 支付vsp506手机qq支付撤销vsp507手机qq支付退款vsp511支付宝支付vsp512支付宝支付撤销vsp513支付宝支付退款vsp551银联扫码支付vsp552银联扫码撤销vsp553银联扫码退货vsp907差错借记调整vsp908差错贷记调整")
    private String trxcode;

    /** 交易请求日期yyyymmdd */
    @Excel(name = "交易请求日期yyyymmdd")
    private String trxdate;

    /** 交易完成时间yyyymmddhhmmss */
    @Excel(name = "交易完成时间yyyymmddhhmmss")
    private String paytime;

    /** 终端编号 */
    @Excel(name = "终端编号")
    private String termno;

    /** 终端批次号 */
    @Excel(name = "终端批次号")
    private String termbatchid;

    /** 终端流水号 */
    @Excel(name = "终端流水号")
    private String termtraceno;

    /** 终端授权码 */
    @Excel(name = "终端授权码")
    private String termauthno;

    /** 终端参考号 */
    @Excel(name = "终端参考号")
    private String termrefnum;

    /** 交易备注 */
    @Excel(name = "交易备注")
    private String trxreserved;

    /** 通联原交易流水，冲正撤销交易本字段不为空 */
    @Excel(name = "通联原交易流水，冲正撤销交易本字段不为空")
    private String srctrxid;

    /** 统一下单对应的reqsn订单号 */
    @Excel(name = "统一下单对应的reqsn订单号")
    private String cusorderid;

    /** 交易账号:如果是刷卡交易，则是隐藏的卡号，例如 */
    @Excel(name = "交易账号:如果是刷卡交易，则是隐藏的卡号，例如")
    private String retacct;

    /** 手续费 */
    @Excel(name = "手续费")
    private String fee;

    /** 渠道子商户号:仅微信/支付宝交易有效 */
    @Excel(name = "渠道子商户号:仅微信/支付宝交易有效")
    private String cmid;

    /** 渠道号：仅微信交易有效 */
    @Excel(name = "渠道号：仅微信交易有效")
    private String chnlid;

    /** 返回的sign校验码 */
    @Excel(name = "返回的sign校验码")
    private String retsign;

    /** 下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date xdsj;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date zfsj;

    /** 通知时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "通知时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date tzsj;

    /** 关闭时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "关闭时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date gbsj;

    /** 支付状态：0取消1待支付2已支付3失败4退款 */
    @Excel(name = "支付状态：0取消1待支付2已支付3失败4退款")
    private String zfstatus;

    /** 清算结果通知 */
    @Excel(name = "清算结果通知")
    private String csurl;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private BigDecimal tkje;

    /** 退手续费 */
    @Excel(name = "退手续费")
    private BigDecimal tkfee;

    /** 客户id */
    @Excel(name = "客户id")
    private Long ma001;

    /** 收款人 */
    @Excel(name = "收款人")
    private Long empid;

    /** 小程序关联主体是否一致【0否1是】是直接唤起 */
    @Excel(name = "小程序关联主体是否一致【0否1是】是直接唤起")
    private String ismainbody;

    /** 发货管理1已发货0未发货 */
    @Excel(name = "发货管理1已发货0未发货")
    private String isfh;

    private String zfzt ;
    private String xmmc ;
    private Long sjid ;
}
